﻿using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace WCS.Infrastructure.Dto.Request.Epaylinks
{
    /// <summary>
    /// 经营信息
    /// </summary>
    public class EpaylinksCompanyInfo
    {
        /// <summary>
        /// 经营地址所在省，acceptOrder=1 时必填，长度限制为 10
        /// </summary>
        [MaxLength(10)]
        public string? Province { get; set; }

        /// <summary>
        /// 经营地址所在市，acceptOrder=1 时必填，长度限制为 16
        /// </summary>
        [MaxLength(16)]
        public string? City { get; set; }

        /// <summary>
        /// 经营地址所在区，acceptOrder=1 时必填，长度限制为 20
        /// </summary>
        [MaxLength(20)]
        public string? Area { get; set; }

        /// <summary>
        /// 经营详细地址，长度限制为 200
        /// </summary>
        [MaxLength(200)]
        public string? BusinessAddress { get; set; }

        /// <summary>
        /// MCC 码，参考附录商户类别 MCC 码，长度限制为 10
        /// </summary>
        [MaxLength(10)]
        public string? Mcc { get; set; }

        /// <summary>
        /// 门店门头照，文件标识（fileID），限图片，参考附件上传
        /// </summary>
        [MaxLength(40)]
        public string? StoreHeadPhoto { get; set; }
        public string? StoreHeadPhotoURL { get; set; }

        /// <summary>
        /// 门店外景照，文件标识（fileID），限图片，参考附件上传
        /// </summary>
        [MaxLength(40)]
        public string? StoreShopPhoto { get; set; }
        public string? StoreShopPhotoURL { get; set; }

        /// <summary>
        /// 门店内景照，文件标识（fileID），限图片，参考附件上传
        /// </summary>
        [MaxLength(40)]
        public string? StoreHallPhoto { get; set; }
        public string? StoreHallPhotoURL { get; set; }

        /// <summary>
        /// 门店收银台照，文件标识（fileID），限图片，参考附件上传
        /// </summary>
        [MaxLength(40)]
        public string? StoreCashierPhoto { get; set; }
        public string? StoreCashierPhotoURL { get; set; }

        /// <summary>
        /// 其他附件，文件标识（fileID），参考附件上传。限 5 张
        /// </summary>
        public List<string>? OtherPhoto { get; set; }
        public List<string>? OtherPhotoURL { get; set; }

        /// <summary>
        /// 协议书签约状态，0：未签约协议书（默认），1：已签约协议书，长度限制为 2
        /// </summary>
        [MaxLength(2)]
        public string? ContractStatus { get; set; }

        /// <summary>
        /// 协议书盖章页/签名页附件，协议书状态为已签约时必填，文件标识（fileID），参考附件上传，长度限制为 40
        /// </summary>
        [MaxLength(40)]
        public string? ContractAttachment { get; set; }
        public string? ContractAttachmentURL { get; set; }

        /// <summary>
        /// 备注，长度限制为 100
        /// </summary>
        [MaxLength(100)]
        public string? Remarks { get; set; }

        /// <summary>
        /// 证照类型，见证照类型，默认 1 为营业执照，长度限制为 2
        /// </summary>
        [MaxLength(2)]
        public string? BusinessLicenseType { get; set; }

        /// <summary>
        /// 证照编号，修改时，不予处理，长度限制为 20
        /// </summary>
        [MaxLength(20)]
        public string? BusinessLicenseCode { get; set; }

        /// <summary>
        /// 证照商户名称，与证照上登记注册的名称一致，长度限制为 100
        /// </summary>
        [MaxLength(100)]
        public string? BusinessLicenseName { get; set; }

        /// <summary>
        /// 证照图片，文件标识（fileID），限图片，参考附件上传
        /// </summary>
        public string? BusinessLicensePhoto { get; set; }
        public string? BusinessLicensePhotoURL { get; set; }

        /// <summary>
        /// 证照有效期(起始)，证照起始：格式：yyyymmdd，长度限制为 10
        /// </summary>
        [MaxLength(10)]
        public string? BusinessLicenseFrom { get; set; }

        /// <summary>
        /// 证照有效期(截止)，格式：yyyymmdd，无限期填写“长期”，长度限制为 10
        /// </summary>
        [MaxLength(10)]
        public string? BusinessLicenseTo { get; set; }

        /// <summary>
        /// 法人姓名，按证照填写，长度限制为 40
        /// </summary>
        [MaxLength(40)]
        public string? LawyerName { get; set; }

        /// <summary>
        /// 经营范围，按证照内容填写，长度限制为 2000
        /// </summary>
        [MaxLength(2000)]
        public string? BusinessScope { get; set; }

        /// <summary>
        /// 注册地址，按证照填写，长度限制为 200
        /// </summary>
        [MaxLength(200)]
        public string? RegisterAddress { get; set; }

        /// <summary>
        /// 注册资本，单位：元
        /// </summary>
        public long RegisteredCapital { get; set; }
    }
}
